package com.tensquare.friend.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.tensquare.friend.dao.FriendDao;
import com.tensquare.friend.pojo.Friend;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
 * @Description
 * @Date 2021/3/28 16:14
 */
@Service
@Transactional
public class FriendService {


    @Autowired
    private FriendDao friendDao;

    public int addFriend(String userid, String friendid) {
        //先判断是否有数据，有就是重复添加好友
        Friend friend = friendDao.getOne(new QueryWrapper<Friend>().eq("friendid", friendid).eq("userid", userid));
        if (friend != null) {
            return 0;
        }
        //直接添加好友
        friend = Friend.builder()
                .friendid(friendid)
                .userid(userid)
                .islike("0")
                .build();
        friendDao.save(friend);
        //判断friendid->userid是否有数据，如果有，双方islike都为1
        Friend friend1 = friendDao.getOne(new QueryWrapper<Friend>().eq("friendid", userid).eq("userid", friendid));
        if (friend1 != null) {
            //相互都将islike设置为1
            friendDao.update(new UpdateWrapper<Friend>().eq("userid", userid).eq("friendid", friendid).set("islike", 1));
            friendDao.update(new UpdateWrapper<Friend>().eq("userid", friendid).eq("friendid", userid).set("islike", 1));
        }
        return 1;
    }
}
